This invention relates generally to controllers for video games and simulators implemented on a computer and more particularly to handheld controllers for inputting multiple different user commands to video game and simulation programs in a personal computer via a game port having a limited number of control signal inputs.
Conventionally, a personal computer is enabled to be controlled by external manual control devices by means of a game card, which provides an external game port into which control devices, such as a joystick, can be plugged. To provide widespread compatibility, which is essential to the ability to mass market a wide variety of video games and simulation programs, industry standards have been developed for game cards for personal computers such as those commonly referred to as IBM-compatibles. The universal adoption of these standards means that any external manual input device designed to control such computers and software must be compatible with the industry-standard game port. Any input device lacking such compatibility will not be able to be used with conventional personal computers equipped with standard game boards and will not be widely accepted.
The problem is that the industry standard game port provides only a limited number of inputs: four discrete signal inputs for receiving binary signals signifying "On" and "Off" and four analog signal inputs for receiving variable voltage signals, such as output by a potentiometer, which are continuously variable over a limited range. The number of game boards that can be plugged into a conventional PC is also limited, to one. Consequently, the number of allowable functions which can be communicated with a game controller through the standard game port is severely restricted.
Attempting to circumvent these limitations, video game and simulator programmers have implemented many commands by programming function keys on the PC keyboard. This approach detracts from the realism of simulation, which is particularly important to flight simulation video games. Further developers have strived to attain more realism by designing microprocessor-based input devices which output keycodes to the PC keyboard port emulating function keys on the PC keyboard. These efforts have been successful to some extent but have also encountered limits on the number of controllers that can be used simultaneously. In flight simulation video games designed to simulate operation of fighter aircraft, for example, it is desirable to have both a joystick and a throttle, each having a plurality of buttons and knobs just like real combat aircraft but operable to control various functions in the simulation software. Especially, there is a need for many more discrete or binary control inputs. The existing input capabilities of a conventional game port, even augmented by a keyboard port input device, does not permit the implementation of such a wide range of control inputs.
Accordingly, a need remains for a better way to input a plurality of external user-actuable control signals to a video game or simulation program running on a conventional PC via a conventional game port without having to use the PC keyboard.